Online social networking system for conducting commerce

ABSTRACT

An online social networking system for conducting commerce utilizes a grid environment, a widget architecture including a widget operating system, and semantic integration technologies to provide personalized bundling of products and services tied to an individual&#39;s life, emergent marketplaces that support collaboratively-based product and service development, merchandising, and recommendations, emergent user experiences, emergent gaming, emergent behavior predictions, collaborative discover, i.e., social searching, and content and/or people voyeurism. These features are achieved through the use of various techniques including emergent programming, emergent widget processing, emergent computations, emergent applications, widget composition, data integration and exchange, complex system management, security graphs, trust/reputation management, intersecting graphs, database sharding, use of fractal graphs (which may be thinned and expanded), and content mashups.

RELATED APPLICATIONS/INCORPORATION BY REFERENCE

This application is a continuation of U.S. application Ser. No.12/755,702, filed Apr. 7, 2010, issued as U.S. Pat. No. 10,410,223,which claims the benefit of and priority to U.S. Provisional ApplicationNo. 61/212,171, filed on Apr. 8, 2009. The above-identified applicationsare hereby incorporated by reference herein in their entirety.

SUMMARY

The subject invention is directed to an online social networking systemfor conducting commerce which utilizes a grid environment, a widgetarchitecture including a widget operating system, and semanticintegration technologies to provide, among other features, personalizedbundling of products and services tied to an individual's life, emergentmarketplaces that support collaboratively-based product and servicedevelopment, merchandising, and recommendations, emergent userexperiences, emergent gaming, emergent behavior predictions,collaborative discovery, i.e., social searching, content and/or peoplevoyeurism, and the like. As will become apparent from the descriptionsthat follow, these various features are achieved through the use ofvarious techniques including, but not limited to, emergent programming,emergent widget processing, emergent computations, emergentapplications, widget composition, data integration and exchange, complexsystem management, security graphs, trust/reputation management,intersecting graphs, database sharding, use of fractal graphs (which maybe thinned and expanded), and content mashups.

More particularly, the subject invention seeks to overcome severaltrends that are currently seen as disrupting Internet based commercemodels. These trends include the way: 1) the increased role of onlinesocial networks and social media affects consumer thinking and behaviormaking it more difficult for a retailer to control communication withconsumers; 2) the increased fragmentation of the Internet through theuse of micro-sites and widget architectures making it more difficult fora retailer to provide centralized control and access; 3) the increasednumber of online identities that a consumer manages and the pressure onprofile holders to allow consumers to integrate and control their owndata making it more difficult for retailers to control consumer data; 4)the increased use of open standards, data stores and services whichpushes expectation for openness and free data exchange making it moredifficult for retailers to maintain exclusivity; and 5) the increase ofnew technologies that allow consumer's opportunities to gainpersonalized intelligence and insight, and build customized compositionsof services, increasing demands on retailers to provide customizedbundles of products and services based on an individual's lifestyle.These trends are each discussed below.

First, the increased role of social network and social media isaffecting how consumers obtain and use commerce related information.Through various social network and social media applications consumersnow have options to create and consume media that is shared across anetwork of other consumers. This information distribution model provideslimited opportunities for a brand owner to control brand-relatedinformation. In the future, a user's social network will be less of aformalized, explicitly defined set of relationships but will instead bea dynamic connection to people that are relevant to that user in aspecific context (e.g., coffee shop, at home, at church). A contextuallydefined network of relationships will therefore become increasinglyubiquitous. The dynamism of the contextual networks will create evengreater difficulty for brand owners in controlling their message.

Second, the increased fragmentation and specialization of the Internetwill make finding these dynamically configured networks more and moredifficult. While dominant applications (e.g., Google, Facebook, etc.)will prevail, users will interact with more and more specializedapplications and services that connect them to other users as part ofspecific life tasks or need states. These context specific applicationswill be shared across specialized networks. For example, a baby sittingscheduling service may be shared throughout a specific community basedon geography. The increased fragmentation will mean that consumers willlook to have commercial operations pushed into these relationshipsrather than have consumers seek out commerce web sites. Businesses willneed to create services that support meaningful relationships in thesespecialized networks.

Third, consumer's multiple online identifies will create problems forconsumers and for marketers. Consumers will suffer from managingmultiple online identities and profiles and will seek applications thatallow them to easily interoperate across services and that carry theirpersonal data with them. Consumer ownership of data will be resolved infavor of consumers and consumers will use tools to actively manage theirdata, doling out data when and if they determine value and relevance.

Fourth, open standards, data, and services will continue to push anexpectation for openness and free data exchange. More and more,businesses and service providers will provide access to data storesthrough open application programming interfaces (“APIs”), creating dataclouds of information that is personally relevant. Integration ofpersonal data, whether data describing social relationships or personalbehavior, will become a key technical challenge. The ability tointegrate data across multiple data stores and services in order toprovide relevant services to a specific consumer will be a significantchallenge. The future marketplace will mirror this trend withrequirements for complete openness and transparency. In order tomaintain trust, businesses will need to push transparency, allowingusers to access information over which they have little controlprimarily because it will be impossible for the business to controlaccess to alternative points of view and data sources. Adoption ofopenness will become a key requirement for commerce operations.Retailers will differentiate themselves by their ability to meshinformation from multiple sources into customized compositions based onan individual's personal preferences.

Finally, consumers will come to expect greater relevance, convenienceand service through more intelligent and personalized insight.Fragmented profile data, the importance of social media, dynamic socialnetworks that emerge based on specific contexts, expectations ofopenness and transparency will not reduce the consumer's expectationthat they are able to get products, services, and information the waythey want it and in a way that they trust.

Because these trends pose significant problems for ecommerce retailers,for retailers to be relevant in a consumer's life, a need exists forretailers to integrate successfully into the online services andpersonal data stores that encapsulate a user's digital life. Forretailers to be relevant, retailers must deliver value in helpingconsumer personalize the management of life events. The presentinvention thus provides technologies for managing consumer life events.These technologies are dynamically configurable based on the specificconsumer's context. These technologies consist of tools that allowconsumers to co-create with retailers semantic mashups which bundleinformation and application services together tied to an individual'slife and that assists them in management their life in the context oftheir social network by organizing information based on social networkcharacteristics and behaviors, and organizing and invoking servicesbased on individual functional requirements.

It is generally assumed that a consumer's information will be broadlydistributed across what some call the “data cloud.” The data cloudconsists of personal and 3<rd>party data stores that are accessibleacross the Internet using freely available application or serviceinterfaces. Managing these distributed sources of content will require ahighly flexible and distributable set of functions which are, within thesubject technology, architected as personalized agents. Agents operateproactively, and organize and push information and services based onindividuals.

As a consumer's information is captured and integrated, it will also beorganized within a specific context. For example, the capture andorganization of information for the purposes of selecting a cell phoneplan for text messaging is a different context from internationaldialing. The organization of this information, how it is captured andthen mashed-up into an integrated presentation or sequence is affectedby the behavior of those individual's discerned to be like the user inthe specific context. In the present invention, information capture andorganization is managed by the collective behavior of the latent networkof users that is most closely associated to the user in a given context.For example, information and application services relevant to purchasingtires is organized for individual's based on those networks ofindividuals who share certain characteristics, e.g., people who are inthe market to purchase tires, people who drive mini-vans, and people forwhom the greatest value is paramount.

The ability to capture and organize the information based on socialbehavior requires the ability to capture and connect user behaviors.Retailers must be able to capture user behaviors and through toolsenable the tagging, sharing, linking, and rating of information. Theability to tie this information to social networks and create networksof like minded consumers will be critical. Once identified, these groupscan be communicated with using a variety of experiences that aredesigned to provide appropriate management of life events. Tagging,sharing, linking, and rating also provide clear behavioral data thathelps organize content into meaningful bundles. Retailers can thereforetie together products tagged “best value” and connect those productbundles with social networks seeking “best value.”

The complexity of these relationships between context, individual, andlife event or task, likely overwhelms simple rule-based systems. This isespecially true if the system is open and allows 3<rd>parties to provideapplication services (i.e., “Widgets”) and unique data stores withoutcentralized control and management.

The present technology thus leverages principles of complex systems andemergence to establish connections between an individual, and his/hercontext, and the specific task that is being tackled. The technologycreates highly customized experiences and deliver those experiencesinteractively to the user (a process termed ‘category experiences’).

This highly dynamic, contextual, and bundled collection of informationand application services creates new challenges and opportunities forpricing. For example, several catalogs of information may be inkedtogether and therefore mashed up. When this collection of catalogscontributes to the sale of a product then each participant maypotentially receive a portion of the transaction. The greater the valuemay be tied to the greater the contribution. Managing the graphic ofconnections leading to a commercial transaction creates new affiliatemodels and algorithms for the distribution of revenues.

This network based commerce model, i.e., one in which everyonecontributes information, application services, and organizationalstructures, allows retailers to reward specific user behaviors. This payfor performance model allows the retailer to directly target users andtarget specific behaviors that enable commerce. Retailers can presentusers with highly targeted opportunities or pay for desired networkbehavior. Network behaviors may include such things as rating a product,creating a bundle of products and information, or collaborativelyparticipating in an online experience.

Therefore, to address these and other needs, the present invention isdesigned to allow customers to: 1) organize and syndicate contentrelated to their life to others in the consumer's online network and/orservices that consumers use to help them personalize the management oflife events; 2) share and collaborate with others in creating,organizing, and gaining insight from online content; 3) buy and sellproducts, services, and information based on dynamically created pricingwhich is tied to relevance and personal value; 4) integrate personaldata stores in order to allow greater relevance of commercialopportunities and bundles of products, services, and information tied tolife events; 5) participate in dynamically created online socialnetworks containing friends/family, experts, community members, brands,and retailers organized around life events; and 6) allow consumers tocreate and manage multiple contexts and allow for dynamic rather thanstatic organization and management of information and applicationservices.

More particularly, the present invention is designed to have the abilityto: 1) create specialized commercial operations or “Widgets” that can beeasily re-composed to support these unique, context specific processesthat are personalized to the user; 2) deploy specialized commercialoperations based on a individual consumer's preference across multipledistributed touchpoints; 3) integrate understandings of the consumeracross multiple data stores in order to provide high relevance; 4)create dynamic networks that allows the retailer and the retailer'sagents to provide value by enabling consumer preferred problem solvingand preferences; 5) integrate 3<rd>party services that comply with openstandards to interoperate without prejudice; 6) personalize the bundlingand pricing of information and application services into what arereferred to hereinafter as “catalogs”; and 7) integrate 3<rd>party datastores on the fly in relationship to ever-changing set of lie events.

Thus, the present invention specifies three areas: 1) how information isdynamically integrated to support customized bundling of information andapplication services tied to together for the purposes of managing lifeevents; 2) how services are dynamically composed to support customizedcommercial operations; and 3) how a dynamic marketplace is created toallow uncontrolled and open connections to catalogs of products,services, and information whereby marketplace transactions may emergethrough the dynamic mapping of buyer, seller, bundle, and price.

While the foregoing generally describes the inventive online socialnetworking system for conducting commerce, a better understanding of theobjects, advantages, features, properties and relationships of thesubject system will be obtained from the following detailed descriptionand accompanying drawings which set forth illustrative embodiments whichare indicative of the various ways in which the principles of theinvention may be employed.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 shows an online social networking system according to anembodiment of the present disclosure.

FIG. 2 shows an online social networking system according to anembodiment of the present disclosure.

FIG. 3 shows a Widget based system according to an embodiment of thepresent disclosure.

FIG. 4 shows layer functions according to an embodiment of the presentdisclosure.

FIG. 5 shows an online social networking system according to anembodiment of the present disclosure.

FIG. 6 shows a system of interconnected semantic graphs according to anembodiment of the present disclosure.

FIG. 7 shows item association according to an embodiment of the presentdisclosure.

FIG. 8 shows a graphical representation of relationships between itemsand tags according to an embodiment of the present disclosure.

FIG. 9 shows a Widget based system according to an embodiment of thepresent disclosure.

FIG. 10 shows a catalog according to an embodiment of the presentdisclosure.

FIG. 11 shows multiple source system for use with a catalog based systemaccording to an embodiment of the present disclosure.

FIG. 12 shows a graph matching recommendation system according to anembodiment of the present disclosure.

FIG. 13 shows a process for merging catalogs according to an embodimentof the present disclosure.

FIG. 14 shows a system for matching users based upon multi-dimensionalgraph analysis according to an embodiment of the present disclosure.

FIG. 15 shows a system for predicting behaviors according to anembodiment of the present disclosure.

FIG. 16 shows system for understanding users based on context accordingto an embodiment of the present disclosure.

FIG. 17 shows a theme based process according to an embodiment of thepresent disclosure.

FIG. 18 shows a theme based process according to an embodiment of thepresent disclosure.

FIG. 19 shows a context based system according to an embodiment of thepresent disclosure.

FIG. 20 shows a context based network system according to an embodimentof the present disclosure.

FIG. 21 shows a system based on trust and reputation according to anembodiment of the present disclosure.

FIG. 22 shows persona assumption according to an embodiment of thepresent disclosure.

FIG. 23 shows a gaming system according to an embodiment of the presentdisclosure.

FIG. 24 shows a system accessible by a consumer and a vendor accordingto an embodiment of the present disclosure.

FIG. 25 shows a database according to an embodiment of the presentdisclosure.

FIG. 26 shows a consumer module according to an embodiment of thepresent disclosure.

FIG. 27 shows a vendor module according to an embodiment of the presentdisclosure.

FIG. 28 shows a process for providing a social commerce networkaccording to an embodiment of the present disclosure.

FIG. 29 shows a process for traversing data items according to anembodiment of the present disclosure.

FIG. 30 shows a process for refreshing a graphical representationaccording to an embodiment of the present disclosure.

FIG. 31 shows a process for conducting a search according to anembodiment of the present disclosure.

FIG. 32 shows a process for allocating royalties according to anembodiment of the present disclosure.

FIG. 33 shows a process for managing catalogs according to an embodimentof the present disclosure.

FIG. 34 shows user interrelationships according to an embodiment of thepresent disclosure.

FIG. 35 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 36 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 37 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 38 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 39 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 40 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 41 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 42 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 43 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 44 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 45 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 46 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 47 shows a user interface according to an embodiment of the presentdisclosure.

FIG. 48 shows a flow diagram according to an embodiment of the presentdisclosure.

FIG. 49 shows a parallel processing system according to an embodiment ofthe present disclosure.

FIG. 50 shows a replication system according to an embodiment of thepresent disclosure.

DETAILED DESCRIPTION i) Exemplary Network Architecture, GridEnvironment, Widget OS, and Data Exchange

As illustrated in FIG. 1, the subject online social networking systemfor conducting commerce will be described in the context of a pluralityof processing devices linked via a network, such as the World Wide Webor the Internet. In this regard, client processing devices, illustratedin the exemplary form of a desk top computer system, cell phone, etc.,provide a means for a user to access an online environment and therebygain access to content, such as media, data, Web pages, catalogs, games,etc., associated with the online environment. Since the manner by whichthe client devices are used to access the online environment are allwell known in the art, they will not be discussed herein for the sake ofbrevity.

As will be further appreciated by those of skill in the art, thecomputing devices, as well as the computing devices within the onlineenvironment, will include computer executable instructions stored oncomputer-readable media such as hard drives, magnetic cassettes, flashmemory cards, digital videodisks, Bernoulli cartridges, nano-drives,memory sticks, and/or other read/write and/or read-only memories. Theseexecutable instructions will typically reside in program modules whichmay include routines, programs, objects, components, data structures,etc. that perform particular tasks or implement particular abstract datatypes. Accordingly, those of skilled in the art will appreciate that thecomputing devices may be embodied in any device having the ability toexecute instructions such as, by way of example, a personal computer,mainframe computer, personal-digital assistant (“PDA”), cellulartelephone, gaming system, personal appliance such as television,refrigerator or the like. Furthermore, while various of the computingdevices within the network illustrated in FIG. 1 are illustrated assingle devices, those of skill in the art will also appreciate that thevarious tasks described hereinafter may be practiced in a distributedenvironment having multiple processing devices linked via a local orwide-area network whereby the executable instructions may be associatedwith and/or executed by one or more of multiple processing devices.

As further illustrated in FIG. 1, the network may also provide logicalconnections to one or more third party computing devices, such as thethird party content servers which may include many or all of theelements described above relative to a computing device. Communicationsbetween the client computing devices, the online environment, and thirdparty computing devices may be exchanged via a further processingdevice, such as network router that is responsible for network routing.While the client computing devices generally provide user events to theonline environment for processing, the third party content servers aregenerally accessed to provide the online environment within content anddata for processing as generally illustrated in FIG. 2 and discussed ingreater detail hereinafter.

Considering now FIGS. 3-5, the network of FIG. 1 is generallyimplemented using a Widget based architecture having access to a logicaldatabase architecture (FIG. 5) in which Widgets, instance data,concepts, etc. as well as links therebetween are maintained. In theexemplary system, a user may download a specific Widget or plug-in to behosted within a host application. A host application is any serverservices or client side code including HTML web pages that that mayinteract with Widgets or plug-ins and provides services which theplug-in or Widget can use, including a way for plug-ins to registerthemselves with the host application and a protocol for the exchange ofdata, and can operate independently of the plug-ins and Widgets, makingit possible for end-users to add and update plug-ins/Widgets dynamicallywithout needing to make changes to the host application. For thispurpose, a plug-in is any functionality which depends on the servicesprovided by the host application and the host application's userinterface, has a well-defined boundary to a set of actions, and cannotwork independently by itself while a widget is a portable chunk of codethat can be installed and executed within any separate HTML-based webpage by an end user without requiring additional compilation and whichinteracts with back end service to capture, manipulation or presentdata. Widgets may be distributed within HTML web pages that are notcontrolled or created by the provider of the services hereinafterdescribed, i.e., 3rd Party widgets may also be created and displayedwith HMTL-web pages provided by the service provider. To facilitatecommunications within this network environment, Widgets may use theWidget API, i.e., the interface through which Widgets can access coreserver side functionality or other services as may be exposed, to accesslocal services, e.g., SHC Wishbook Services or may talk directly tothird-party services such as Facebook, Flickr, or OpenSocial compliantproviders. As further illustrated in FIG. 49, the system provides forparallel processing of such APIs. Furthermore, because the subjectonline social networking system will adapt to the functionality of eachwidget, e.g., emergent programming and emergent widget processing willallow the system to provide event reporting across widgets thatotherwise use non-consistent terminology to describe contextuallysimilar concepts because, when widgets are registered with the on-lineenvironment, the registrant specifies meta-data descriptions of thewidget, its operations, and events produced and consumed by the widget,the functionality of each widget may thus be left up to the developer.

More particularly, as illustrated in FIG. 4, a Workspace Componentserves as the layer within which all Widgets will function. TheWorkspace component layer allows the system to transparently supportWidgets across multiple different device deployment technologies such asa browser, mobile device, or desktop. When a workspace is launched on adevice, the Workspace Component instantiates a Core Shell, which is thecentral repository of functionality and data that is used to manageWidgets. Within the Core Shell sits the Core Engine which serves to wrapthe various service layers that are independent of the individualWidgets.

To handle communications with external services, including file andnetwork access, the Widget OS provides a bottom layer which is theService Controller. File management duties are funneled through aPlatform Proxy, which is an abstraction layer between the differentplatforms. In this manner, for example, when a Widget requests to uploada file, the Platform Proxy will handle the distinction between a browserupload dialog versus a drag-n-drop message from the local file system.In addition, a Workspace API is used to communicate with externalnetwork services based on open APIs. Above these Proxies sits the AuthProxy, which will be responsible for any authentication andauthorization functions that should be performed prior to or immediatelyfollowing service calls, permitting a higher level of control overWidget behavior, for example restricting video class Widgets to onlyvideo file formats.

The next layer in the Widget OS is the Workspace Controller, which isresponsible for creating and launching Widgets. The Widget Factory takesXML from the Service Controller to build the collection of Widgets thatshould be started, and will register Messages with the Message Registry.The XML defines the attributes and behaviors of the Widget, includingreferences to the (remote or embedded) HTML/JS and/or SWF code that willbe used to render the Widget. The Widget Factory may also includebehaviors/attributes that are defined in the Template, Adapter, andBehavior Libraries, to generate the final Widget definition. Thisdefinition will then be stored into the Widget Data Object for laterreference. The Widget Data Object is thus a consolidated model of userdata, widget behaviors and content and network link data that should beavailable to a Widget without having to go back to the Workspace. Thismay include, for example, a User Object, which is the local data storefor information specific to a current user such as profile information(e.g., name, email, etc.), social network information (including cachedcredentials, if required), and other data as may be stored by andmanaged within the Workspace, and a Preferences Object, which is a localdata store initialized for non-user-specific attributes, such as sizeand position attributes for a Workspace and state information forpreviously launched Widgets.

A Message Controller then serves as the interface layer between Widgetsand the rest of the Workspace while a Message Router talks to theCommunication Module within each instantiated Widget, passing Messagesback and forth with other Widgets or services. In addition, a MessageRegistry is provides to serve as the local data store that contains alist of all currently available Messages, with associated dependencieswhile a Message Queue represents a transient list of Messages to beprocessed. In this manner, when the Message Router receives a Message,it checks the Message Registry for any related Messages that should befired, which are then added to the Queue. The Message Router thenprocesses each Message on the Queue that needs to be run.

Considering FIG. 4 still further, a Widget Shell represents a wrapperaround each individually launched Widget. The Widget Shell will beinjected with a Widget Engine, which facilitates communication betweenthe Widget and the Core Engine. The Widget Shell is where default UIelements, such as close buttons, may be rendered, if not overridden bythe Widget. Some Widget Shells may have no visible elements, allowingthe Widget full control over its presentation. Meanwhile, the WidgetEngine is the piece of functionality that lets the Widget interact withits containing environment. It passes Messages and Messages as generatedby the Widget, which may be routed by the Core Engine to other Widgetsor back to the core Services. Finally, a Communication Module isprovided which is a small SWF component that will setup the named pipesby which the Widget and Message Router will talk.

ii) Example Widget OS Workflow

By way of example only, considering a case where a user logs into aworkspace to interact with a Widget, the above-described Widget OS wouldfunction as follows:

1) Login to Workspace

User inputs credentials into a Login Widget and clicks a Login/Submitbutton.

The data is passed from the Login Widget through the Core to the onlineenvironment server.

If valid, the server returns an XML message containing the user'sprofile information, the list of Widgets to display to the user, and anyother data relevant to the session.

The Workspace Controller will setup the Workspace with the specifiedWidgets

2) Open a Widget from the Widget Toolbar

User clicks on or drags a Widget from the Widget Toolbar.

The Widget Toolbar sends a Message to the Communication Module.

The Communication Module sends a Message to the Message Router.

The Message Router passes the Message to the Workspace Controller.

The Workspace Controller sends a Message to the Widget Factory.

A Widget Shell is launched by the Widget Factory onto the Workspace.

The Widget Shell is injected with the associated XML for the Widget.

The Widget is rendered in the Workspace.

3) User Interacts with Widget

User enters text and selects a Widget control creating a publishableevent.

The Widget sends a state Message to the Widget Shell.

The Widget Shell's Communication Module sends an Message through theMessage Router to the Workspace Controller.

The Workspace Controller sends the Widget's state message to any Widgetsthat have subscribed to listen for that Message.

4) Close a Widget

User clicks the close control on a Widget.

A Message is sent to the Widget Shell Communication Module.

The Communication Module sends a Message to the Message Router.

The Message Router passes the Message to the Workspace Controller.

The Workspace Controller scans the Message registry to determine whatother Widgets have subscribed to the Widget's close Message.

The Workspace Controller sends a notification to the subscribingWidgets.

The Message Router sends the close confirmation to the originatingWidget Shell.

The Widget Shell runs the Widget's close function, then removes theWidget instance.

5) Close the Workspace

The user closes the Workspace via a UI button or File->Close menuaction.

The Workspace controller scans the Message Registry to determine thesequence in which to send the close Messages.

All open Widgets are sent the close Message.

Each Widget runs its function to execute the close Message.

The Workspace then runs its own close function, which should save anystate information to the local system and/or send to the server.

The user is logged out of the online environment.

iii) Graphs

In the present invention, the needs of the system are met by the abilityto create (e.g., as illustrated in FIG. 48) and execute highly dynamicrelationships across data stores through use of sets of interconnectedsemantic graphs, such as seen in FIG. 6. Personal data stores aregraphs. Each profile item is associated with a user and each profileitem is associated with all other items as shown in FIG. 7. The itemsare further associated by treating each individual item or response asan instance of the actual set or tag. For example, as seen in FIG. 8,the profile item “favorite ice cream flavor” may contain many answersand each answer represents a new node and is graphically related back tothe tag. These items, their tags and the set of personal data that ispart of the individual store are stored graphically. Across multiplestores, each graph representation can be fused together. Furthermore,agents may be utilized to monitor changes in states in nodes, arc/nodes,traversal paths, and sub-graphs to thereby adjust this matching andfusing.

Links between people and products, and the bundling of products andservices occurs by managing a number of intersecting graphs which aremaintained in a shard DB. First, there is the graph of the user whichdefines the user. Second, there is the context graph which describes theuser's context. Third, there is the extended social graph whichcomprises the fused graph of all users that match the specific userwithin the specific context. Fourth, there is the product/service graphwhich is created so the context matches the context graph and theproducts/services connected to the fused social graph. For example, ifthe user's context is bass fishing, then the product/service graph alsomatches, to the extent possible, the bass fishing context. To manage anduse these multiple graphs, the system employs fractal graphingtechniques to discern data objects or schemas that overlap consideringmultiple variables, e.g., variables that define a given context. In thismanner, the system may index and consider discerned contiguous graphs tothereby reduce the complexity of locating relevant information.

iv) Emergent Applications, Programming, and Widgets

In the present invention the ability to create, compose and execute setsof distributed services occurs by manipulating widgets. Widgets arediscrete application services that can be deployed as self-containedcapabilities and integrated on 3<rd>party platforms. The ability for aretailer to provide technical services in the form of customizedsoftware applications will be paramount. By using the widget operatingsystem, it is possible to create compositions of services as widgets andbuild these compositions based on specific user characteristics such astheir profile, online behavior, and personal services and datarequirements (e.g., my Calendar, Addressbook, etc.). Customizedapplications can be created by creating graphical representations of theindividual widgets, the intended function or process for the applicationand the characteristics of the users such as illustrated in FIG. 9.Together, the intended functional requirements, the widgetcharacteristics, and the user characteristics can provide customapplications.

v) Emergent Marketplace and Catalogs

In the present invention the ability to create an open emergentmarketplace occurs by allowing uncontrolled and open connections tobundles (“catalogs”) of products, services, and information to becreated and marketplace transactions to emerge through the dynamicmapping of buyer, seller, bundle and price. By way of example, as seenin FIG. 10, a catalog may include one or more of tags, user behaviors,widgets, widget flows, other catalogs, agents, services/actions,information, products, opportunities, people, groups, linked items,recommended items, etc. Furthermore, as illustrated in FIG. 11,artifacts within a catalog may include content selected from multiplesources on both a macro and micro (parts of parts) level. How catalogsare utilized within the system will be described in greater detailbelow.

The open, emergent marketplace will support 3rd party services thatperform commercial operations such as catalog presentation, productselection, product purchase and support. The open marketplace will needto allow these 3rd party services to interoperate seamlessly to supportcommerce. The open marketplace will support an open API to allow any 3rdparty services. To insure that 3rd party services can operate fullydecoupled and without interdependencies, the widget operating systemallows 3rd party services to be composed into integrated composedservices can be created and form a customized applications.

vi) Advertising and Merchandising

A marketplace requires the ability for products, services, andinformation to be offered, merchandised, and transacted. Catalogs, asnoted above, are collections of products, services, and information thatare dynamically created through user behavior or system recommendation.Because things can be added to a catalog by a user, a catalog createsexplicit and highly weighted connections which can be leveraged toprovide recommendations, social discovery, etc. The user's network canalso add things to a catalog of the user if the catalogs are linked.This also creates an explicit link but less highly weighted connection.The system can thus recommend items based on graph matching in which thegraph contains the weighted characteristics of other similar people andtheir behavioral and profile data as shown in FIG. 12. As an example, ifevery sailor on the north shore of Chicago has put sailing shoes intotheir catalogs (an explicit connection), and a new north shore sailorcreates a new sailing catalog, sailing shoes would be recommended by thesystem.

Each touchpoint (i.e., browser, mobile, television remote, refrigerator,Xbox) can be defined graphically as well. Each life event or life task,can be similarly graphically represented. Each individual has a similarintegrated profile and context. Delivering the rightproduct/service/information, based on the specific life event or task,to the right individual in the right context becomes a matter of fusinggraphs together. Using the standard architectural approach, the systemleverages processed artifacts to seed how these graphs can be fused aswell as group behavior to solidify how the right touchpoint is selectedfor delivering the products, services, and information based on theindividual context.

Each vendor's catalogs, like a user's, catalogs contain items. But sincevendors do not share a common vocabulary or description logic forproducts it is incredibly difficult to fuse catalogs together withoutbeing able to understand the meaning of a specific product.Nevertheless, the items are related to various themes and these themesexist within a specific graph and are therefore graphically defined.Therefore, in order to merge catalogs, both catalog context graphs andindividual product context graphs are processed as shown in FIG. 13 andthe extent of the graph match determines the certainty of the match ofproducts and product catalogs. Multiple vendors may therefore be mergedby vectoring each item in a catalog into a catalog and then each catalogto each other. Thus, an item may match another (“jaguar” equals“jaguar”) but the fact that the jaguar in one catalog containsrelationships to other items like “lions,” “tigers,” etc. and the otherjaguar is in a catalog that contains relationships with items like“car,” “luxury,” etc. would indicate that these catalogs should not bemerged.

A group of products and services can also be cataloged together with alife event as noted above. This catalog bundles products and services toa life event by discovering a thematic connection. For example, thetheme “wedding” will have an associated set of products and services. ALife Process consists of a set or sequence of themes that are actions.These actions are linked graphically together through weights. Productsand services can be tied to each theme and there is strength ofassociation for each thematic relationship.

Creating and conveying relevant opportunities to purchase to a buyer istypically seen as “advertising.” An open, emergent marketplace mustallow advertisers to build new types of advertisements which consist ofexciting and custom experiences that engage their brand and marketingstrategies. The ability to create personal experiences or narrativesthat are tied to an individual's characteristics will be the ultimatecustom experience. Customized experiences are created by integratingdisparate elements (e.g., individual videos) using the underlyingsemantic graphs. Because the graphs describe the elements, provide anarrative structure, and provide the characteristics of the users, fromthe graphs custom experiences can be created.

Merchandising is based on the premise that by associating a product toother products and services that the likelihood of purchase increases.Thus, by fusing together graphical representations of products frommultiple vendors, and by then identifying strong associations betweenproducts based on the thematic strength of relationships, the systemfunctions to identify all things that are connected, e.g., connected to“tires,” to thereby identify vendors of these connected items.

More particularly, the system is able to deliver opportunities to morefinely targeted individuals because the system is able to create a morecomprehensive profile of the individual by integrating their profilesfrom multiple sources and understand those profiles and what thoseprofiles say about the individual. Part of the understanding comes fromthe ability of understanding the individual within his or her socialcontext. The system can also create a similar understanding of theindividual products in a catalog, and across multiple vendors' catalogsby fusing together latent collections of products/services from acrossmultiple vendor catalogs in ways that can then be tied to the integratedprofile of the individual. Opportunities are leveraged to createconnections between products/service bundles and groups of individuals.They can be used in two ways: 1) opportunities can represent collectionsof products and services and be delivered to the right individuals; or2) groups of individuals can be identified and correspondingopportunities created. These individuals can be informed about thesecollections of relevant products that are tied to them through thesetargeted opportunities. Or, a brand manager can create an opportunitybased on a specific individual's profile and then find products andservices that correspond to the opportunities.

vii) Emergent Behavioral Predictions, Content and People Voyeurism,Emergent Gaming

Recommendations and connections are created by determining theindividual and the individual's context, and extending the individual'sgraph by identifying a matching network of people who share the user andcontext characteristics. Based on the matched graph that establishes abroader social network that is similar to the user, connections can bemade from the user to relevant products and services. For example, aftermatching users based upon multi-dimensional graph analysis asillustrated in FIG. 14, the system will be able to see the highestweighted group of users matched to the user and highest weightedbehaviors that are associated with those users and will be able topredict a set of behaviors, e.g., what product a user is likely topurchase, based on the strength of the match between the user and groupsof like users and their behaviors as illustrated in FIG. 15.

To have maximum relevance it is critical that a buyer and seller areunderstood within context as shown in FIG. 16. In the present inventionsellers are users with a contextual graph (commonly called a catalog ofproducts and services). Buyers are users with a contextual graph ofconnections to specific products and services. These connections areestablished by creating thematic links between the user, the user'scontext, various products and services, etc. as shown in FIGS. 17-19.Emergent connections are created by linking the themes from the buyerand the themes of the seller. For example, a seller of fishing poleswould be thematic related to the ‘fishing’ theme. An angler wouldsimilarly be thematically related to “fishing.” For the angler, the“fishing” theme would be related to “fishing poles.” The system wouldmatch the buyer and seller on the “fishing” theme and then connect thebuyer and seller through fishing poles. Since this is accomplishedgraphically the matching occurs not by matching strings on terms but bymatching graphs.

More particularly, recommendations and connections between individuals,products, catalogs, etc. are created by determining the individual andthe individual's context, and extending the individual's graph byidentifying a matching network of people who share the user and contextcharacteristics considering explicit, implicit and/or latent networks ofa particular user as shown in FIG. 20 as well as thematic or contextualassociations between users. Based on the matched graph that establishesa broader social network that is similar to the user, connections toproducts and services are made. Members of the network that are lessclosely related to the user, or products and services and thereforegraphically further way, may therefore be recommended less strongly. Byway of particular example, considering a brand manager, the brandmanager is tied to a set of products and these products are tied to aset of life problems or needs that the product can resolve. Thus, abrand manager, her products, and the associated life events operating asa context can be mapped to a social network of people closely related tothat product.

Within the system trust and reputation based weights may be utilizedwhen providing recommendations. In this regard, as illustrated in FIG.21, trust and reputation determinations occur through the use of threemechanisms: 1) trust based upon the trustworthiness of the user's socialgraph (e.g., explicit trust/reputation rations); 2) trust based on theuser's latent social graph in which trust is determined based on latentstrengths of profile, behavior, and context; and 3) trust established bydetermining the matches of the thematic graph of the user's assertion toother assertion graphs. Thus, using this criteria, trust and weights canbe established based on the degree to which graphs match.

To provide voyeurism, the system may also provide for a user to stepinto the shoes of another user to see what products, content, catalogs,etc. would be of interest to that user. To this end, the system mayallow a user to assume the graph of a particular user and thereby betreated as the user within the system, i.e., be presented with theopportunities that person would be presented with. For example, asillustrated in FIG. 22, a person can assume the persona of a “rock star”and will use within the system the graph associated with that “rockstar” persona to thereby assume the same behaviors, contexts,information, opportunities, that are linked to that persona. It is to beappreciated that an adoptable persona can belong to a real person, e.g.,a known friend which will allow a user to shop as that person, or thepersona can be developed over time by allowing multiple users tointeract with the system in that persona to thereby develop the links,behaviors, etc. to be used in the graphs of that persona.

It is similarly contemplated that social network behaviors could also beused to provide emergent gaming. For example, based upon the behaviorsof discerned similar users within the network, weights may be assignedto various rules, environments, etc. that are to be used during gameplay. Using such weights, a user can thus be provided with a gamingexperience that utilizes the rules, environment, etc. that are mostlikely to be appealing to that user as indicated by those users havingsimilar graphs as illustrated in FIG. 23.

viii) Dynamic Pricing of Products, Services, and Information

As noted above, the strength of relationships between products and theindividual, and the strength of products to each other, based oncontext, provides a weight. The weight can be used as a factor indetermining pricing of products, services, and information that will beprovided to a user. Thus, a graph consisting of a fishing pole, reel,and fishing line, would suggest a higher price for the bundle or ahigher price for an individual item if the other two items have beenpurchased. A product/service that is less strongly related may require alower price.

viv) Example of System as Used to Conduct Commerce

Generally speaking, in use the system provides technology with whichvendors may bundle product and service offerings together, i.e., asmash-ups, to present commercial opportunities to consumers in anunobtrusive and targeted manner. A fundamental concept underlyingvarious embodiments is the idea of applying a social mash-up to thecommercial context, and relying upon links and relationships betweenpeople, products, services and content in general, as opposed to thetraditional two-party, consumer-vendor relationship we have grownaccustomed to seeing.

As discussed above, the subject system serves as a platform forexchanging information and transacting business between a plurality ofconsumers and a plurality of vendors. In particular, this is achieved,as illustrated in FIG. 24, by providing the consumers and the vendors 20with access to several powerful components of the system 200, includingbut not limited to a search engine 230 (which relies at least in partupon the graph fusion techniques described above), a widget server 240,a data item server 260, a royalty module 270, and one or more databases280, by way of respective consumer modules 210 and vendor modules 220.

The database 280 functions to store a plurality of data items. Dataitems are extracted during a pre-processing of artifacts from the datastore. By way of example, FIG. 35 illustrates such pre-processing ofartifacts and FIG. 25 illustrates a non-exhaustive diagram of the typesof artifacts that may be stored within database 280. As shown, the typesof artifacts include, but is not limited to, catalogs 305, widgets 310,information 315, media 320, groups 325, opportunities 330, people 335,products 340, services 345, consumer profiles 350, vendor profiles 355,and bundles 360.

As additionally illustrated in FIG. 50, the database 280 may beimplemented as a shard database. For example, the system may utilizemultiple, replicated database pairs where any database activity to areplicated database will cause the other database in the pair to beupdated. If one of a pair is down, a file system is used to log errorsand that database will auto-sync when it next comes back on line. Inaddition, all queries will be spread across both databases in each pairbased on various sharding rules.

Database 280 not only stores the artifacts themselves, but also storesthe data items structural relationship with the artifacts, the semanticrelationships between data items, associations between the data itemsand user characteristics, associations between data items and contextualdata defined by user behavior and session specific user provided data,and links, associations, and/or relationships between the artifacts.Furthermore, rather than simply storing and accessing these artifactsindividually, the system 200 works with sets computed based onsimilarity or interrelatedness (i.e., by using fractals) and storesthese sets as indexes in a multidimensional format in the database.Thus, by way of example only, the database may store data such as:

1. Node (1/2)—contains the following tables and is oriented around themain aspects of recording the nodes of the graph, or related tables thatmust be replicated.

-   -   a. Artifact    -   b. Control    -   c. NodeMaster    -   d. SimilarTo    -   e. Stemming

2. Concept (1/2)—contains all Concept tables and ArcTheme and isoriented around returning the base concept node data.

3. Context (1)—contains ConceptBehavior

4. Context (2)—contains CatConcept

5. Arc (1/2)—contains Instance and TagInstance and is oriented aroundthe Arcs from Widgets, which are, unlike standard TEC arcs, explicitlystated.

6. Widget (1/2)—contains all the widget Generic DB tables

7. ComCtl—contains all supporting tables that are not replicated,including: Parse, NodeInstance, Globals, CacheTables, User Seeding.

8. Batch—contains all batch server tables, and is not replicated. Notethat the API Log table does have a file system backup generated.

Moreover, database 280 is not restricted to any specific type of data,but rather is operable to store a number of diverse types of artifacts.

Within the present system, the catalogs 305 are of particularsignificance, because they are one primary vehicle by which consumers210 and vendors 220 are able to customize their experience within thesystem 200. In essence, a catalog 305 is a collection of one or moreother artifacts, which may include other catalogs. For example, one usermay have created a cooking catalog that includes some of the user'sfavorite foods, recipes, and cooking appliances. However, the catalogmay also include people 335, such as famous chefs of whom the user is afan. The catalog may also include another catalog, such as one createdby one of the celebrity chefs. The catalog may also include a widget310, such as a “purchase” widget that allows other consumers 210 topurchase one or more of the items in the user's catalog.

The inclusion of selected artifacts into a catalog 305 may beimplemented by way of links from the catalog 305 to the selectedartifacts. In situations where a dynamic item, such as a group 325, auser profile 350, 355, or another catalog 305 is included in a user'scatalog, a change made in the dynamic item may thus be reflected throughto the user's catalog. In some situations, however, a user may not beinterested in changes to dynamic items, but rather the user may preferto preserve the present state of such item. Thus, in one embodiment, auser also has the option of “pinning” a dynamic item into the user'scatalog, such that a static “snapshot” of the dynamic item is placedinto the catalog, rather than a link to the dynamic data.

As discussed above, system 200 organizes the artifacts based onrelationships and links. For example, users can link to each other andform groups 325. Users can also links to other artifacts by way ofcatalogs 305. In addition, some links between artifacts may becontextual. For example, a product artifact 340, such as onecorresponding to a particular model of car may in turn be linked toinformation artifacts 315 including product reviews and informationabout the manufacturer, media artifacts 320 such as demonstrativevideos, vendor profiles 355 of car dealers selling the subject car,commercial opportunities 330 involving the subject car, etc. Indeed, asdiscussed below, various embodiments present artifacts to the user in amanner that highlights such connections.

a) Exemplary Consumer Experience

FIG. 26 illustrates a detailed block diagram of the consumer module 210,in accordance with various embodiments of the present invention. Theconsumer module 210 includes a consumer interface 420, which is agraphical user interface that allows a consumer 10 to interact with thesystem 200. By way of the consumer interface 420, the consumer 10 hasaccess to the other components of the consumer module 210.

As an initial matter, in order to gain access to many of the componentsof the consumer module 210, as well as to fully benefit from thefeatures of system 200, a user may establish a user account andcorresponding user profile. To that end, consumer module 210 includes aprofile manager 430, which allows the user to create and manage theuser's profile. A user profile may include, but is not limited to,information such as the user's contact information, users demographicinformation, as well as other information unique to the user, such asthe user's interests, hobbies, education, languages spoken, etc. Theinformation in the users profile may then be used to help define theusers context—a concept which is discussed in greater detail below.

The consumer module 210 also includes a message center 410, throughwhich a user is able to send and receive e-mails and instant messages toand from other consumers 10 and vendors 20. The consumer module 210 alsoincludes a catalog manager 440 for creating, organizing and managing theuser's catalogs. FIG. 44 illustrates an example screenshot of onepossible user interface for interacting with the catalog manager 440.

The consumer module 210 further includes a virtual funds manager 450 formanaging virtual funds associated with the user's account (discussed ingreater detail below), and a connections manager 470 for managing theuser's connections, separate and apart from catalogs, to other artifactsin the database 280. In addition to the various data items alreadypresent in the database 280, users are able to provide their owncontent, such as products or services they wish to sell, digital mediathey wish to share, or commercial opportunities they wish to present. Tothis end, the consumer module 210 also includes a content manager 460,which allows users to add their own personal content to the database 280and subsequently manage it.

In addition to accessing the other components of the consumer module210, a user is also able to access information contained in the database280 through the consumer interface 420. FIG. 35 illustrates a screenshotof one way in which artifacts may be presented to a user, in accordancewith an embodiment of the present invention. As illustrated, theconsumer interface 420 may not simply present a single artifact or evena one-dimensional list of artifacts, but rather the artifacts may bepresented in a multi-dimensional graphical form where the artifacts mayvary in size as well as transparency. The collection of artifacts thatare displayed at any given time may in part also define the contextreferenced above. As used herein, the “context” is a concept that may bebased on a number of factors, which may include, but are not limited to,the collection of artifacts that are displayed at any given time,information in a user's profile, the user's browsing behavior, such asbrowsing and searching history, external factors (discussed below), orthe like.

In various embodiments, artifacts that are considered more relevant tothe current context are displayed more prominently than those artifactsthat are considered less relevant. In the illustrated embodiment, the“Sears Wish Book 2008” (a catalog) is considered most relevant to thecontext therein and is thus displayed in a prominent position (e.g., thecenter of the screen), in a relative size that is larger than thesurrounding other artifacts. Among other options, the user may choose to“View details,” in which case the consumer interface 420 may invoke aviewer widget (specifically, a catalog viewer widget) by way of thewidget server 240 and display the Sears Wish Book 2008 catalog, in oneembodiment, as shown in FIG. 36.

FIG. 36 also shows that the “Craftsman Catalog” is also nested withinthe Sears Wish Book 2008. Accordingly, a user is able to access theCraftsman Catalog through the Sears Wish Book 2008. In so doing, theappropriate viewer widget is again invoked by way of the widget server240 and, in one embodiment, the Craftsman Catalog is displayed asillustrated in FIG. 37.

Another important feature of various embodiments of the presentinvention is an intelligent search engine 230. Search engine 230 isconsidered intelligent in that, in one embodiment, it does not simplytake a search term in isolation and return the most applicable result.Rather, when conducting a search, the search engine 230 also considersthe context in which the search is made. In various embodiments, the“context” may include information specific to the user conducting thesearch, such as certain information obtained from the user's profile.For example, if a user indicates in his profile that he is an avidflyfisherman, and the user searches for “fishing,” data itemsspecifically relating to flyfishing, as determined using graph fusingtechniques, are more likely to be relevant to the user and data itemsrelating to ice fishing. The context may also include the user'sbrowsing habits, such as recent browsing history or past searches. Forinstance, if a user has been viewing several data items relatingspecifically to flyfishing, and then the user searches for “fishing,”data items relating to flyfishing are again determined to be more likelyrelevant to the user. Similarly, if the user had conducted similarsearches in the past and tended to choose search results that related toflyfishing, even though the user may have only searched for “fishing,”then the search engine 230, considering the context and graphs, willdetermine that data items relating to flyfishing have greater relevanceto the current search. The “context,” as discussed above, may beimplemented as user-specific heuristics. The context may also includeexternal factors, which may include, but are not limited to, time ofday, time of year, market conditions, location, weather, etc. Forexample, if a user searches for “fishing” in the month of December, dataitems relating to ice fishing are likely to be more relevant than thoserelating to flyfishing.

FIG. 38 illustrates an example user interface for conducting a searchand returning search results, in accordance with an embodiment of thepresent invention. In the illustrated embodiment, a user has searchedfor “electronics.” The user interface then displays the more relevantsearch results more prominently than those that are less relevant. Inparticular, the search engine 230 has in this instance determined thatin view of the user's context, a person who calls himself “ElectronicsGURU” is the most relevant search result. As the other search resultsfan further out from the Electronics GURU, they are deemed less relevantby the search engine 230 and accordingly are displayed as smaller imageswith increased transparency. In one embodiment, as the system 200, byutilizing one or more agents, continues to “learn” from a user'sbrowsing behavior, a data item that was once deemed relevant to acertain context may over time be deemed less and less relevant, suchthat the data item is displayed less and less prominently, andeventually disappearing from the display altogether. Conversely, a dataitem that was not originally considered relevant enough to display mayover time become relevant enough to display. In determining relevance toa search, the search engine 230 may determine corresponding relevancescores/weights for the search results as discussed previously.

In the present example, notwithstanding the fact that the search engine230 considered the Electronics GURU to be the most relevant searchresults, the user may nonetheless be looking for a particular digitalcamera, as illustrated in FIG. 39. Should the user select a searchresult other than the most prominent one, the search engine 230 willrefine the search results based on the user's selection and present anew set of search results to the user where, in one embodiment, the itemselected by the user becomes the most prominently displayed searchresult—in essence “reshuffling the deck.” Thus, the user's selectionsafter the search is first conducted may also become part of the contextfor the search. Because the search results are continually refined basedon selections made by the user, the present system virtually eliminatesthe need for a “Back” button.

While traversing search results or artifacts in general, the user isprovided with the ability to quickly add any artifact to a current ornew catalog. As shown in FIG. 39, when a user hovers the user's mousepointer over an artifact, a dialog box is displayed that provides theoption to add the artifact to a catalog. Alternatively, the user maydrag and drop an artifact from the primary display into a catalog, asillustrated in FIG. 40. In either instance, the catalog manager 440 isinvoked. As shown in FIG. 41, if the selected artifact is being added toa new catalog, the user may be required to enter a title and a briefdescription of the catalog. The user may also be asked to optionallyselect one or more tags to associate with the catalog, wherein tags areused to enhance search accuracy as well as to establish links andrelationships with other artifacts in the database 280. The user mayenter these tags manually or, as shown in FIG. 42, the user may alsoselect from a number of predefined tags. Additionally, as shown in FIG.43, the user may create the user's own list of frequently used tags,from which the user may then select at a later time.

b) Exemplary Vendor Experience

FIG. 27 illustrates a detailed block diagram of the vendor module 220,in accordance with various embodiments of the present invention. Thevendor module 220 includes a vendor interface 520, which is a graphicaluser interface that allows a vendor 20 to interact with the system 200.By way of the vendor interface 520, the vendor 20 has access to theother components of the vendor module 220.

As with the consumer side of the system 200, a vendor may establish avendor account. The vendor can then access the other components of thevendor module 220. The vendor module 220 includes a message center 510,similar to the consumer's message center 410, through which a vendor isable to send and receive e-mails and instant messages to and fromconsumers 10 and other vendors 20. FIG. 45 illustrates an examplescreenshot of one possible user interface for a message center 510.

The vendor module 220 also includes an opportunity manager 550, whichallows the vendor 20 to create and manage commercial opportunities,e.g., advertisements, as discussed above. Opportunities may range inpurpose from offering a sale price to a consumer 10 on a particularproduct or service to offering an incentive for a consumer 10 toparticipate in a survey, provide a product review, or the like.Additionally provided is a group manager 530, such as the oneillustrated in FIGS. 46 and 47, but not limited thereto. Using the groupmanager 530, a vendor 20 can define target groups to which opportunitiesand/or campaigns (discussed below) are directed. These target groups canbe defined based on a number of factors, including but not limited togeography, demographics and interests expressed either explicitly in auser profile or implicitly through a user's browsing habits.

The vendor module 220 also includes a campaign manager 540, which allowsthe vendor 20 to define and manage a number of promotional campaigns.Campaigns describe what the vendor 20 wants to accomplish with theopportunities it has created. One important benefit of the campaigns andthe campaign manager 540 of the present system is that the vendor 20does not need to conduct substantial market research in order to be ableto spell out how and when opportunities that are part of the campaignshould be presented. Consider the example of a consumer 10 who needs tobuy a new car. In many cases, the consumer 10 may first settle on abudget for the car, in which case the consumer 10 will likely want toseek preapproval for an auto loan. The consumer may then consult anumber of consumer reports and product reviews to narrow down the carmodels from which to choose. The consumer 10 may then want to find outwhich nearby car dealerships have one or more of these models in stockto test drive and ultimately purchase. After the purchase, the consumermay also need to take out a new car insurance policy.

At every step of the process just described, one or more vendors 20 maywant to present one or more opportunities. However, it will beappreciated that certain opportunities are more appropriate in certaincontexts than they are in others. While the above car purchase exampleis somewhat simplistic, it will also be appreciated that other campaignsare far more complex and would ordinarily require far more marketresearch in order to appropriately present an opportunity. In variousembodiments of the present invention, however, such extensive marketresearch and specification of campaign details is not necessary. This isbecause system 200 is already equipped to analyze and consider theconsumer graph, including the context in which a given consumer 10 isbrowsing, and can therefore deliver opportunities accordingly.Additionally system 200 can track how consumers 10 react to certainopportunities presented in certain contexts and adjust, through use ofone or more agents, its implementation of a vendor's campaignaccordingly.

The vendor module 220 also includes a virtual funds manager 560 formanaging virtual funds associated with the user's account. The virtualfunds manager 560 is discussed in greater detail in the followingsection.

c) Example of Monetization

A host of a system according to an embodiment may collect, andoccasionally even redistribute, royalties in response to certain events.These events may be, for example, a user purchasing a good or servicethrough the system, a user viewing an opportunity, or the like. Whilethe following discussion may at times only refer to the purchase of agood or service, it will be appreciated that any otherroyalty-triggering event is equally applicable. For the purposes of thisdiscussion, the party being charged the royalty shall be considered thevendor. In order to facilitate the charging and distribution ofroyalties without having to be constantly crediting and debiting actualbank accounts, user accounts may include virtual funds accounts whichcan be accessed and managed via virtual funds managers 450 and 560.Virtual funds may be purchased, transferred from user to user, andultimately redeemed for goods, services, and/or cash equivalents. Thedollar-to-virtual-fund exchange rate need not necessarily be 1:1.Instead, it may be desirable to have an exchange rate of, for example,10 virtual dollars for every one actual dollar (10 virtual cents foreach actual sent). Such an exchange rate thereby allows for the transferof “micro payments” (i.e., payments of less than a penny), which may beinsignificant in and of themselves, but which may add up significantlyin the aggregate.

Upon the occurrence of a royalty-triggering event, the royalty module270 of system 200 determines a corresponding base royalty for the event.This base royalty may then be increased or reduced based on a number offactors. As discussed above, various embodiments may provide a graphicalrepresentation of a plurality of artifacts, where the artifacts areorganized within the graphical representation based on relevance. Tothat end, each of the artifacts displayed at any one time may beassigned a corresponding relevance score or weight, as noted above, tothe current context. If the royalty-triggering event relates to one ofthe displayed artifacts, the royalty may be weighted based on therelevance score. For example, if a user searches for “football,” thesearch results may include a football, which may have a relevance scoreof 99%, and a football jersey, which may only have a relevance score of80%. In this example, the royalty for a purchase of the football may bereduced by a factor of 0.99, while a purchase of the Jersey may bereduced by a factor of 0.80.

Another factor based upon which royalties may be adjusted is the numberof “hops” or “degrees of separation” between the royalty-triggeringartifact or node and the original context. This concept is illustratedin FIG. 34, which shows interrelationships between a group of users. Inthis example, the vendor Sears provides a purchase widget. Another user,Eric, has put together a catalog called “Eric's Fishing Catalog,” whichincludes a link to the Sears purchase widget to enable the purchase of aparticular fishing pole. In addition, Jen, Bill and Tom have eachincluded Eric's Fishing Catalog in their respective catalogs. Further,Sarah and Bob have each included Bill's Catalog in their respectivecatalogs. In this case, because of the nesting of the Sears purchasewidget within Eric's Fishing Catalog, which is nested within Bill'sCatalog, which is in turn nested within Sarah's Catalog, a user who isperusing Sarah's Catalog can directly use the Sears purchase widget topurchase a fishing pole. However, because the Sears purchase widget inSarah's Catalog, through repeated nesting, is actually three degrees ofseparation from Sears, Sears may be charged a lesser royalty than if thefishing pole were purchased by way of Eric's Fishing Catalog, which isonly one degree of separation from Sears.

In addition to charging a vendor a royalty, a portion of the royaltycharged may in turn be paid to various users of the system, therebyencouraging full participation in the system by the users. Referringagain to FIG. 34, in addition to charging Sears a royalty for the saleof a fishing pole via the system, the royalty module 270 may also pay aportion of the royalty to Sarah, Bob, Jen, Bill, Eric and Tom, by virtueof the fact that they have all either directly or indirectly linked tothe Sears purchase widget for purchasing the fishing pole. A portion ofthe royalty may similarly be paid to any other users not shown thatlikewise have linked to the Sears purchase widget. In one embodiment,the amount of the royalty to be paid may be adjusted based on the numberof hops between a given user and the royalty-triggering artifact. In thepresent example, Jen, Bill and Tom may each receive a smaller royaltythan Eric, and Sarah and Bob may receive an even smaller royalty yet.Moreover, in one embodiment, royalties may not be paid at all to usersthat are more than a predetermined number of hops from theroyalty-triggering artifact. For example, if the limit were two hops,neither Sarah nor Bob would receive a portion of the royalty.

Another factor by which royalties paid may be adjusted is the linkstrength between the user and the royalty-triggering artifact. In oneembodiment, each link between two artifacts has an associated linkstrength as described an illustrated previously. As shown in FIG. 34,the link strength between Bill's Catalog and Eric's Fishing Catalog is0.85, while the link strength from Jen's and Tom's respective catalogsto Eric's Fishing Catalog are each 0.60. Accordingly, Bill would receivea greater portion of the royalty than would Jen and Tom. It should beappreciated that any combination of the factors discussed above may beused to not only determine the royalty to be charged to the vendor butalso to determine what portion of the royalty, if any, is to be paid toother users.

d) Exemplary Social Commerce Process

With reference to FIGS. 28-33, flowcharts 600, 645A, 740A, 650A, 1000,and 660A each illustrate example steps used by various embodiments ofthe present technology for a social commerce network 200. Flowcharts600, 645A, 740A, 650A, 1000, and 660A include processes that, in variousembodiments, are carried out by a processor under the control ofcomputer-readable and computer-executable instructions. Althoughspecific operations are disclosed in flowcharts 600, 645A, 740A, 650A,1000, and 660A, such operations are examples. That is, embodiments arewell suited to performing various other operations or variations of theoperations recited in flowcharts 600, 645A, 740A, 650A, 1000, and 660A,including operations and functionality discussed above. It isappreciated that the operations in flowcharts 600, 645A, 740A, 650A,1000, and 660A may be performed in an order different than presented,and that not all of the operations in flowcharts 600, 645A, 740A, 650A,1000, and 660A may be performed. Where helpful for the purposes ofillustration and not for limitation, FIGS. 28-33 will be described withreference to FIGS. 24-27 and 34, which illustrate hypotheticalsituations in which embodiments may be implemented.

FIG. 28 illustrates a flowchart 600 for a process of providing a socialcommerce network, in accordance with various embodiments of the presentinvention. Flowchart 600 may begin at block 605, where a database ofdata items, such as database 280, is provided.

Blocks 610-630 illustrate steps for a creating a user profile. It shouldbe appreciated that these operations need only be performed once. Atblock 610, a request to create a new user profile is received, and a newuser profile is then created in response to the request (block 615).Once a user profile is created, additional details relating to the usermay be requested (block 620). These additional details may include, butare not limited to, additional contact information of the user, theuser's demographic information, and the user's interests. Once suchadditional details are received (block 625), the new user profile issubsequently populated with the details (block 630).

At block 635, a graphical representation of a plurality of data items isprovided. In one embodiment, this may be achieved substantially in themanner shown in FIGS. 35 and 38, but is not limited as such. In theillustrated embodiments of FIGS. 25 and 28, a data item or artifact thatis considered most relevant to the current context is displayedprominently in the center of the screen. From this artifact, additionalartifacts fan out towards the periphery of the screen. In oneembodiment, the distance of an artifact from the center, the size of theartifact, and degree of transparency of the artifact are functions ofthe relevance of that artifact to the current context. Once the groupingof artifacts has been displayed, the user has several options relativeto interacting with the system. For example, the user may choose to viewdetails of a data item 640. In one embodiment, this may be achieved byactivating a viewer widget, which in turn generates a displaysubstantially as that shown in FIG. 36, but is not limited as such. Ifthe user selects a data item other than the most prominently displayeddata item, a traversal process 645 is initiated.

FIG. 29 illustrates a flowchart 645A of a process for traversing dataitems, in accordance with an embodiment of the present invention. Atblock 710, a selection of one of the graphically represented data itemsis received. At block 720, the user's profile is updated to reflect theselection of the data item. This may involve, for example, updating abrowsing history associated with the user. At block 730, a determinationis made as to whether the selected data item is the currently mostprominently displayed data item. If yes, then no further action isnecessary. If not, the system redetermines which data items are relevantto the current context which has been updated to reflect the selectionof the selected data item (block 740). The graphical representation isthen updated to include the data items that were just determined to berelevant, while also moving the selected data item to a prominentposition (e.g. center) within the graphical representation (block 750).

FIG. 30 illustrates a flowchart 750A for refreshing the graphicalrepresentation, in accordance with an embodiment of the presentinvention. At block 810, the system displays more relevant data itemscloser to a prominent position of the display and less relevant dataitems further from the prominent position. At block 820, the systemadjusts the transparency of the graphically represented data items sothat less relevant data items appear more transparent than more relevantdata items.

In addition to traversing and viewing the data items, the user is alsoable to perform a search 650. It should be appreciated that the search650 may be achieved in a number of ways. For example, FIG. 31illustrates a flowchart 650A for a process of conducting a search, inaccordance with various embodiments of the present invention. At block910, a search engine capable of searching the database 280, such assearch engine 230, is provided. At block 610, a query is received from auser via the search engine. The search engine then analyzes heuristicsassociated with the user (block 930) and searches for data items in thedatabase that are relevant to the query in view of the heuristicsassociated with the user (block 940). In one embodiment, the searchengine may determine relevance scores for the search results (block950). The search engine then provides the search results to the user(block 960). In one embodiment, this may include displaying graphicalrepresentations of the data items such that more relevant data items aremore prominently displayed than less relevant ones, such as thegraphical display of the search results shown in FIG. 38. As discussedabove, one valuable feature of various embodiments is the ability toadapt the system's concept of what is relevant to individual users,rather than to the general masses. In other words, embodiments not onlyconsider the search terms, but they also consider the user's graphincluding the context in which the search was made, knowncharacteristics of the user, etc. To that end, when a selection of aparticular search result is received (block 970), the aforementionedheuristics associated with the user are updated to reflect the selectionof the particular result (block 980).

A user also has the ability to purchase a good or service (block 655).As discussed above, a purchase of a good or service, in addition toother types of events, may be a royalty-triggering event, where a vendoris charged a royalty and, in some cases, other users are given portionsof the royalty. FIG. 32 illustrates a flowchart 1000 for a process forallocating royalties, in accordance with various embodiments of thepresent invention. At block 1010, a royalty-triggering event, such as apurchase of a product or service, the presentation of a commercialopportunity, or the like, is facilitated by the system. At block 1020, aroyalty to be charged to the vendor associated with the royaltytriggering event is determined. This may involve, for example,determining a flat fee associated with the royalty-triggering event orcalculating a percentage of a sale, but is not limited as such. Invarious embodiments, the royalty may then be adjusted based on variousfactors. For example, the royalty may the adjusted based on therelevance of the royalty-triggering event to the current context (block1030). The royalty may also be adjusted based on the number of linksbetween the data item associated with the royalty-triggering event andthe original context (block 1040). Once the final, adjusted royaltyamount is determined, the vendor is charged to the royalty (block 1050).In some embodiments, a portion of the royalty charged to the vendor mayactually get paid to one or more other users who have either directly orindirectly linked to the royalty-triggering event (block 1060). In oneembodiment, the apportionment of the royalty to the other users may bedetermined substantially as described above with respect to FIG. 34.

With reference again to FIG. 28, a user also has the ability to managecatalogs (block 660). Generally speaking, this involves creating andupdating the user's catalogs. As discussed above, a catalog isessentially a collection of other data items stored in the database 280.FIG. 33 illustrates a flowchart 660A of an example process for managingcatalogs, in accordance with various embodiments of the presentinvention. At block 1105, a request to create a catalog is received. Inresponse, the system may then request a title and description of thecatalog (block 1110). Once the title and the description are received(block 1115) and empty catalog having the title and the description iscreated (block 1120). Once this shell of the catalog has been created,the user may then begin to add data items of the users choosing into thenew catalog. Accordingly, at block 1125, an indication of a data item tobe included in the catalog is received.

Some data items, such as products or other general information dataitems, may be relatively static in that their content changes little, ifat all. On the other hand, some data items such as catalogs and users,which may include one or more other nested items therein, have a muchmore dynamic content. Thus, if a user indicates that a first catalogshould be included in a second catalog, the user has the option of“pinning” (block 1150) the first catalog into the second catalog so asto fix the contents of the first catalog from the perspective of thesecond catalog. Thus, if the first catalog is pinned, a static copy ofits contents are made in the second catalog (block 1155). If the firstcatalog is not pinned, a dynamic link to the first catalog is created inthe second catalog so that any subsequent changes to the first catalogare reflected in the second catalog (1160). Similar operations may beperformed relative to the inclusion of a user in a catalog, depending onwhether the user is pinned (blocks 1135-1145). Otherwise, data itemsadded to a catalog are typically added by linking the indicated dataitem to the catalog (block 1165).

Thus, various embodiments provide a social commerce network that is ableto analyze a user's behavior and profile so as to provide a morecontextually relevant browsing experience. The more a particular useraccesses a system according to an embodiment, the more the system isable to learn about how the user approaches browsing. The net result isthat the system is able to predict with increasing accuracy what datathe user will likely find relevant, and the system is able to do this ona user-by-user basis.

In addition to the built-in intelligence, embodiments provide amechanism for substantially all users of the system—not just traditionalvendors—to receive “monetary” benefits for their participation in thesystem and more particularly for their participation in the communityand social networking aspects of the system.

While specific embodiments of the invention have been described indetail, it will be appreciated by those skilled in the art that variousmodifications and alternatives to those details could be developed inlight of the overall teachings of this disclosure. Accordingly, theparticular embodiments disclosed are meant to be illustrative only andnot limiting as to the scope of the invention which is to be given thefull breadth of the appended claims and any equivalents thereof.

1. A computer-implemented method for allocating royalties to vendors,comprising: providing a database of data items including a first dataitem and a second data item, the second data item having a particularvendor and a particular product or service associated therewith, and thefirst and second data items being connected to each other through anumber of links; providing a graphical representation of a plurality ofthe data items including the first data item but not including thesecond data item; enabling access to the second data item via the firstdata item and the links; facilitating a purchase of the particular goodor service; and charging the particular vendor a royalty that is basedat least in part on the number of links connecting the first data itemto the second data item.
 2. The method as recited in claim 1 wherein theparticular vendor is a second vendor and the first data item has a firstvendor associated therewith, the method further comprising: paying thefirst vendor a portion of the royalty charged to the second vendor basedat least in part on the number of links separating the first data itemand the second data item.
 3. The method as recited in claim 2 whereineach of the links have associated link strengths, and wherein furtherthe royalty is also based at least in part of the associated linkstrengths of the links between the first data item and the second dataitem.
 4. A computer-readable medium having computer-executableinstructions stored thereon for causing a computer to perform a methodfor allocating royalties to vendors, the method comprising: providing adatabase of data items including a first data item and a second dataitem, second data item having a particular vendor and a particularproduct or service associated therewith, and the first and second dataitems being connected to each other through a number links; providing agraphical representation of a plurality of the data items including thefirst data item but not including the second data item; enabling accessto the second data item via the first data item and the links;facilitating a purchase of the particular good or service; and chargingthe particular vendor a royalty that is based at least in part on thenumber of links connecting the first data item to the second data item.5. The computer readable medium as recited in claim 4 wherein theparticular vendor is a second vendor and the first data item has a firstvendor associated therewith, and wherein the method further comprises:paying the first vendor a portion of the royalty charged to the secondvendor based at least in part on the number of links separating thefirst data item and the second data item.
 6. The computer readablemedium as recited in claim 5 wherein each of the links have associatedlink strengths, and wherein further the royalty is also based at leastin part of the associated link strengths of the links between the firstdata item and the second data item. 7-13. (canceled)